Service providers and device manufacturers are continually challenged to deliver value and convenience to consumers by providing compelling network services. Important differentiators in the industry are application and network services, as well as capabilities to support and scale these services. In particular, these applications and services may include accessing and managing data utilized by network services. These services entail managing a tremendous amount of user data, such as terabytes of data available through online stores for books, audio and video or online storage of personal emails, pictures, audio and video for a large number of subscribers. To search these large data holdings, indices are generated that associate data objects such as books, images, and files with searchable fields, such as dates and subject matter. The indices themselves may become quite large. Some services store such indices distributed among many network nodes so that each node maintains an index of a size that can be searched in a reasonably short period of time. However the indices are partitioned, some searches may involve most or all partitions of the index, and thus may consume large amounts of computational power and network bandwidth, with inherent delays in responding to individual search requests.
When executing a search request, strict performance requirements are involved. The query response time may be crucial for the users. When dealing with large amounts of data, a rapid response becomes even more difficult, as the search response time can be dramatically impacted by the volume of data that must be searched. Even in situations where large amounts of data are split and distributed across multiple servers, when a query is executed, the query may need to be run on all servers, and then the result from each of these queries needs to be merged together. Some types of queries may take much longer to execute than others.